import java.util.ArrayList;

public class Test07 {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<Integer>();
        list.add(123);
        list.add(60);
        list.add(134);
        list.add(56);
        list.add(780);
        list.add(60);
        list.add(89);
        list.add(67);
        list.add(129);
        MyArray a=new MyArray();
        a.reverse(list);
        System.out.println(a.max(list));
        System.out.println(a.min(list));
        System.out.println(a.indexOf(list,56));
        a.replaceAll(list,60,99);
        System.out.println(list);
    }
}
/*
分析以下需求，并用代码实现
		定义MyArrays类，该类中有以下方法，方法描述如下：
 */
class MyArray{
    //1.public static void reverse(ArrayList<Integer> list);
    //			参数ArrayList<Integer> list:要进行操作的集合对象
    //			要求：对list集合对象中的元素进行反转(第一个和最后一个交换，第二个和倒数第二个交换，第三个和倒数第三个交换...)
    public static void reverse(ArrayList<Integer> list){
        System.out.println("原集合为：");
        System.out.println(list);
        for(int i=0;i<(int)list.size()/2;i++){
            int temp=0;
            temp= list.get(i);
            list.set(i,list.get(list.size()-i-1));
            list.set(list.size()-i-1,temp);
        }
        System.out.println("改后为：");
        System.out.println(list);
    }
    //2.public static Integer max(ArrayList<Integer> list);
    //			参数ArrayList<Integer> list:要进行操作的集合对象
    //			要求：求出list集合对象中的最大值并返回
    public static Integer max(ArrayList<Integer> list){
        Integer max=0;
        for(int i=0;i<list.size();i++){
            if(max< list.get(i)){
                max= list.get(i);
            }
        }
        return max;
    }
    //3.public static Integer min(ArrayList<Integer> list);
    //			参数ArrayList<Integer> list:要进行操作的集合对象
    //			要求：求出list集合对象中的最小值并返回
    public static Integer min(ArrayList<Integer> list){
        Integer min=0;
        for(int i=0;i<list.size();i++){
            if(min>list.get(i)){
                min = list.get(i);
            }
        }
        return min;
    }
    //4.public static int indexOf(ArrayList<Integer> list,Integer i);
    //			参数ArrayList<Integer> list:要进行操作的集合对象
    //			参数Integer i:需要在集合中查找的元素
    //			要求：求出元素i在list集合中第一次出现的索引，如果没有返回-1
    public static int indexOf(ArrayList<Integer> list,Integer i){
        int i1=-1;
        for(int j=0;j<list.size();j++){
            i1 = list.indexOf(i);
        }
        return i1;
    }
    //5.public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue);
    //			参数ArrayList<Integer> list:要进行操作的集合对象
    //			参数Integer oldValue:需要被替换掉的原值
    //			参数Integer newValue：替换后的新值
    //			要求：将list集合中的所有值为oldValue的元素替换为newValue
    public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue){
        for(int i=0;i< list.size();i++){
            if(oldValue == list.get(i)){
                list.set(i,newValue);
            }
        }
    }
}